Three-dimensional (3D) computer graphics (CG) techniques have rapidly prevailed along with the improvement of performance of recent computers. In combination with such techniques, VRML (Virtual Reality Modeling Language) has been standardized and widely used as a language that handles a 3D virtual space. The latest VRML2.0 (ISO/IEC 14772-1: 1997) which is open to the public at this time is used to construct a virtual mall for electronic commerce, to manage 3D data for CAD or the like on an intranet, and the like.
The user observes an image on a 3D virtual space described in VRML or the like in accordance with the viewpoint position or visual axis direction set in the virtual space using a two-dimensional (2D) view window. More specifically, the user changes viewpoint position information and visual axis direction information by moving a cursor on the 2D view window using a mouse, flipping a joystick two-dimensionally, or rolling a trackball.
As a result, an apparatus for presenting an image on the virtual space to the user changes the viewpoint position and visual axis direction in correspondence with the viewpoint position information and visual axis direction information, which have been changed, generates an image on the virtual space corresponding to the changed viewpoint position and visual axis direction, and presents the generated image to the user. The user can walk through the 3D virtual space by sequentially changing the viewpoint position information and visual axis direction information in this way.
If a manipulative virtual object is present on the 3D virtual space, the user manipulates that virtual object by moving the cursor on the 2D view window onto the virtual object to be manipulated, and selecting that object while pressing an arbitrary key at the same time or switching a manipulation mode.
However, according to the conventional method, the field of view (field angle) from the viewpoint on the 3D virtual space is limited, and the user cannot easily recognize the current location of the viewpoint position on the 3D virtual space on the 2D view window.
Also, the viewpoint is present as an object having a certain size on the 3D virtual space. In this case, this object sometimes collides against an obstacle on the 3D virtual space. However, if the viewpoint collides against an obstacle during walkthrough, the viewpoint position can no longer be moved in the direction of the obstacle. In such case, since the obstacle often falls outside the field of view depending on its position, the user cannot often recognize why he or she cannot change the viewpoint position.
Furthermore, a virtual object on the 3D virtual space can be manipulated using the cursor on the 2D view window, as described above. If another manipulative object is present between the position of the virtual object to be manipulated and the viewpoint position, it is difficult to manipulate that virtual object.
The present invention has been made in consideration of the aforementioned problems, and has as its object to provide a virtual space rendering/display apparatus and virtual space rendering/display method, which allow the user to walk through a 3D virtual space and to manipulate a virtual object more easily.